﻿using Sustainalytics.Entities;
using System;
using System.Collections.Generic;

namespace Sustainalytics.DataLayer
{
    /// <summary>
    /// Event repository.
    /// </summary>
    public interface IEventsRepository
    {
        List<Event> GetEvents(EventsFilter filter, int skip, int take, string[] orderBy, bool asc);
        
        long GetEventsCount(EventsFilter filter);

        Event GetEvent(Guid eventId);

        void UpdateMultipleEvents(IEnumerable<Guid> eventItems, EventStatus status);

        IEnumerable<Event> GetEventsByIds(IEnumerable<Guid> eventIds);

        void AddEvent(Event Event);

        void UpdateEvent(Event Event);

        void DeleteEvent(Guid eventId);

        void DeleteMultipleEvents(IEnumerable<Guid> eventItems);

        
    }
}
